Abstract Syntax Can Make the Definition of Modelica Less Abstract
نویسندگان
چکیده
Syntax Can Make the Definition of Modelica Less Abstract David Broman and Peter Fritzson Department of Computer and Information Science Linköping University, Sweden {davbr,petfr}@ida.liu.se Abstract. Modelica is an open standardized language used for modeling and simulation of complex physical systems. The language specifiModelica is an open standardized language used for modeling and simulation of complex physical systems. The language specification defines a formal concrete syntax, but the semantics is informally described using natural language. The latter makes the language hard to interpret, maintain and reason about, which affect both tool development and language evolution. Even if a completely formal semantics of the Modelica language can be seen as a natural goal, it is a well-known fact that defining understandable and concise formal semantics specifications for large and complex languages is a very hard problem. In this paper, we will discuss different aspects of formulating a Modelica specification; both in terms of what should be specified and how it can be done. Moreover, we will further argue that a ”middle-way” strategy can make the specification both clearer and easier to reason about. A proposal is outlined, where the current informally specified semantics is complemented with several grammars, specifying intermediate representations of abstract syntax. We believe that this kind of evolutionary strategy is easier to gain acceptance for, and is more realistic in the short-term, than a revolutionary approach of using a fully formal semantics definition of the language.
منابع مشابه
Towards a Text Generation Template Language for Modelica
The uses, needs, and requirements of a text generation template language for Modelica are discussed. A template language may allow more concise and readable programming of the generation of textual models, program code, or documents, from a structured model representation such as abstract syntax trees (AST). Applications can be found in generating simulation code in other programming languages ...
متن کاملA Mde Approach for Language Engineering
Many development tools of modern Integrated Development Environments (IDEs) make an intensive use of abstract syntax tree (AST) representations of the software. This is the case of refactors, code formatters, or content assistants, among others. Such AST is usually an instance of an object oriented abstract syntax model. We propose to center the attention of Language Engineering (LE) on this mo...
متن کاملAn OpenModelica Java External Function Interface Supporting MetaProgramming
A complete Java interface to OpenModelica has been created, supporting both standard Modelica and the metamodeling extensions in MetaModelica. It is bidirectional, and capable of passing both standard Modelica data types, as well as abstract syntax trees and list structures to and from Java and process them in either Java or the OpenModelica Compiler. It currently uses the existing CORBA interf...
متن کاملMeta-programming with Concrete Object Syntax
Meta programs manipulate structured representations, i.e., abstract syntax trees, of programs. The conceptual distance between the concrete syntax meta-programmers use to reason about programs and the notation for abstract syntax manipulation provided by general purpose (meta-) programming languages is too great for many applications. In this paper it is shown how the syntax definition formalis...
متن کاملExperimentation of a Graphical Concrete Syntax Generator for Domain Specific Modeling Languages
Graphical Domain Specific Modeling Languages (DSML) are alternatives to general purpose modeling languages e.g. UML or SysML. They describe models with concepts and relations specific to a domain. Defining such languages consists of defining an abstract syntax and a graphical concrete syntax accompanied by a correspondence mappingsyntax and a graphical concrete syntax accompanied by a correspon...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007